/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.ces4.produccion.server.services;

import co.com.ces4.produccion.client.AutenticacionService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import co.com.ces4.produccion.jpa.controllers.UsuarioJpaController;
import co.com.ces4.produccion.jpa.entities.Usuario;
import javax.servlet.http.HttpSession;

/**
 *
 * @author ias
 */
public class AutenticacionServiceImpl extends RemoteServiceServlet implements AutenticacionService {

    public Boolean validateUser(String user, String password) {
        UsuarioJpaController usuarioJpaController = (UsuarioJpaController) getServletContext().getAttribute("usuarioJpaController");
        Usuario userG = usuarioJpaController.validateUser(user, password);
        if (userG == null) {
            return false;
        }

        if (getThreadLocalRequest().getSession() == null) {
            return false;
        }

        getThreadLocalRequest().getSession().setAttribute("user", userG);

        return true;
    }

    public Boolean validarSesion() {
        HttpSession sesion = getThreadLocalRequest().getSession();
        if (sesion == null) {
            return false;
        }

        Usuario user = (Usuario) sesion.getAttribute("user");

        if (user == null) {
            return false;
        }

        return true;
    }

    public void cerrarSesion() {
        if (getThreadLocalRequest() != null && getThreadLocalRequest().getSession() != null) {
            getThreadLocalRequest().getSession().invalidate();
        }
    }
}
